package com.example.exception;

import com.example.common.enums.ResultCodeEnum;


/**
 * 自定义异常类，用于处理业务逻辑中的异常情况
 * 继承自RuntimeException，支持自定义错误码和错误信息
 */
public class CustomException extends RuntimeException {
    private String code;// 错误码
    private String message; // 错误信息

    /**
     * 使用ResultCodeEnum构造异常对象
     * @param resultCodeEnum 包含错误码和错误信息的枚举对象
     */
    public CustomException(ResultCodeEnum resultCodeEnum) {
        this.code = resultCodeEnum.code;
        this.message = resultCodeEnum.message;
    }


    /**
     * 使用指定的错误码和错误信息构造异常对象
     * @param code 错误码
     * @param message 错误信息
     */
    public CustomException(String code, String message) {
        this.code = code;
        this.message = message;
    }


    /**
     * 获取错误码
     * @return 错误码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置错误码
     * @param code 错误码
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 获取错误信息
     * @return 错误信息
     */
    public String getMessage() {
        return message;
    }


    /**
     * 设置错误信息
     * @param message 错误信息
     */
    public void setMessage(String message) {
        this.message = message;
    }
}
